# Chapter 5: Clip Delivery

Helix Universal Server is ready to stream prerecorded clips right after installation. As with any Internet server, you request content from Helix Universal Server using a hypertext URL, which you typically add to a Web page. This chapter explains link formats, introducing you to mount points. It shows you how to launch a media player from a Web page, and covers additional features that help you deliver prerecorded clips.

# Writing Links to Content

A Web page hyperlink to content on Helix Universal Server launches a media player and streams some content, whether a prerecorded clip or a live broadcast. A typical link to a media clip or a broadcast served by Helix Universal Server includes the server address, protocol port (optional), mount points, path, and file name:

    protocol://address:port/mount_points/path/file

The following illustration shows the parts of a typical link. Not every link includes the same components, however.

##### Parts of a Link

The following table describes common link components.

Helix Universal Server URL Components
Component | Specifies
--- | ---
`protocol``://` | The protocol used to initiate streaming. This is `rtsp://`, `mms://,` `pnm://`, or `http://`. For more information on these protocols, see "Application-Layer Protocols".
`address` | Address of Helix Universal Server, either a dotted IP address or a machine and domain name.
`port` | Port where Helix Universal Server listens for requests on the specified protocol. This is not required if Helix Universal Server uses the default, well-known ports. For more on ports, see "Defining Communications Ports".
`mount_points` | One or more mount points that invoke Helix Universal Server features. You can stream simple, on-demand clips using just a forward slash after the address and port. For more information, see "Mount Points".
`path` | An optional path relative to the `Content` directory. If the file is in the `Content` directory, no path is required. Broadcast URLs do not include a path. For more information, see "Creating Content Subdirectories".
`file` | The name of the presentation, including the extension. The file can be a clip or a metafile used to launch the clip, as described in "Launching Media Players and Opening URLs". Broadcasts also use a file name specified by the encoder, even if no file is created on the computer.

| Tip: For examples of the different types of links, as well as the features of SMIL files, view the demonstrations by clicking Server Setup>Media Samples in Helix Administrator, and then choosing the SMIL demonstration links.

## Mount Points

All URLs to clips or live streams served by Helix Universal Server include at least one mount point that looks like a directory listing in the request URL. If you worked through the section "Creating and Streaming a Clip on Demand", you may have written a Web page URL that includes the `/ramgen/` mount point, like the following example:

    <a href="http://helixserver.example.com/ramgen/video1.rm">Play RealMedia</a>

In the preceding URL, the `/ramgen/` mount point does not correspond to a physical path on the Helix Universal Server computer. Instead it's a virtual path that invokes a Helix Universal Server feature. In this case, the mount point tells Helix Universal Server to use its Ramgen feature to send the browser a MIME stream that launches RealOne Player.

| For More Information: For more on Ramgen, see "Using a Client Launch Utility".

### Content Directory Mount Point

Using Ramgen launches RealOne Player and passes it the media URL. The URL that RealOne Player uses, however, does not include the `/ramgen/` mount point, which has already served its purpose. Additionally, the URL is reconfigured to use the RTSP streaming protocol. Hence, RealOne Player receives the following URL for requesting the streaming content:

    rtsp://helixserver.example.com/video1.rm

This URL also contains a mount point, though it's easy to miss because it's simply the slash that precedes the clip name:

    .../video1.rm

This mount point indicates that the clip resides in Helix Universal Server's main content directory. This directory, named `Content`, is located in the Helix Universal Server installation directory. A directory linked to a mount point is known as the mount point's base path. In a default installation on Windows, the base path for the "`\`" mount point is the following:

    C:\Program Files\Real\Helix Server\Content

On UNIX, installation locations may differ, but the content directory falls under the main Helix Universal Server directory:

    /usr/local/Real/HelixServer/Content

The "/" mount point therefore masks the actual path to the streaming media content on the Helix Universal Server computer.

| For More Information: "Streaming Clips On Demand" contains additional information about paths and mount points for streaming on-demand clips.

### Multiple Mount Points

A URL may have several mount points. In the quick start section "Broadcasting a Stream", you had the option of creating a Web page URL to play a live broadcast, using two mount points as in the following example. Here, the `/ramgen/` mount point launches RealOne Player, whereas the `/broadcast/` mount point indicates that the content is live rather than prerecorded:

    .../ramgen/broadcast/live.rm

When a URL includes `/broadcast/`, Helix Universal Server does not search its content directory for a clip named `live.rm`. Instead, it knows that the URL is to a live stream sent by Helix Producer. The configuration information for the `/broadcast/` mount point gives Helix Universal Server the information it needs to find the content, such as what server port Helix Producer uses to deliver the stream.

Helix Universal Server predefines mount points for many features. You add certain mount points to URLs to insert advertisements in media clips, for example. In some cases, you need to define your own mount points to set up a feature. When a feature requires a mount point, this guide's instructions on implementing that feature explain how to configure the mount point, as well as how to add the mount point to URLs to invoke the feature. In many cases, URLs must list mount points in a specific order for the various features to work.

# Launching Media Players and Opening URLs

A clip that streams over the RTSP or MMS protocol must use a URL that starts with `rtsp://` or `mms://` rather than with `http://`. Because browsers cannot make RTSP or MMS requests, you cannot link a Web page directly to a streaming media clip that uses a streaming protocol. You resolve this problem either by adding a metafile, or using a client launch utility on Helix Universal Server.

| Note: Most media players also have an Open command that lets viewers enter a media URL directly without clicking a link. In this case, the URL is the same as that used in a metafile. Although viewers can play clips this way, this method is not recommended because it is awkward and prone to errors.

## Using Metafiles

A metafile is a simple text file that links to a Web page through a standard `<a href>` link that specifies the HTTP protocol. The metafile contains the streaming media URL, and uses a file extension that causes the Web browser to launch a media player as a helper application. The browser then passes the metafile to the media player, which requests the streaming content over a streaming protocol. Each media player uses a different type of metafile.

### RealNetworks Ram File

For RealOne Player, metafiles are known as Ram files because they use the file extension `.ram`. If the media is embedded in a Web page, though, the file extension is `.rpm`. When the viewer clicks the Web page link to the Ram file, the browser launches RealOne Player and gives it the Ram file, which contains the URL to the streaming clip, such as the following:

    rtsp://helixserver.example.com/video1.rm

RealOne Player can also play SMIL presentations that coordinate multiple clips. In these cases, the SMIL file lists the RTSP URLs to the clips. The Ram file gives the RTSP (or HTTP) URL to the SMIL file.

| For More Information: The presentation delivery chapter of RealNetworks Production Guide covers the Ram file syntax, and explains how content creators can use the Ram file to pass playback parameters to RealOne Player.

| Tip: A Ram file feature called a cloakport switch helps you to mitigate the effect of restrictive firewalls on RTSP clients. This switch passes Helix Universal Server port information to the client in case the RTSP connection is blocked by a firewall. See "Handling Communication through Nonstandard Ports".

### QuickTime Reference Movie

Although Apple's QuickTime Player also receives streaming content over RTSP, it has its own metafile extension and syntax. You use the QuickTime MakeRefMovie tool to create a reference movie that contains the RTSP URL or URLs to your QuickTime presentation on Helix Universal Server.

| For More Information: See the QuickTime documentation for information on MakeRefMovie. You may find the Web page http://www.apple.com/quicktime/products/tutorials/ref movies.html helpful as well.

### Windows Media ASX File

ASX files are the Windows Media equivalent to RealNetworks Ram files. They are plain text files that use the file extension `.asx`. They list the URLs to Windows Media clips that stream over the MMS protocol. Within the ASX file, the requested content uses an `mms://` link that points to Helix Universal Server:

    mms://helixserver.example.com/video2.wmv

| For More Information: See your Windows Media documentation for instructions about writing ASX files. The ASX file can also include information to work around restrictive firewalls.

## Using a Client Launch Utility

As an alternative to writing a metafile, you can use a client launch utility that allows you to link your Web page directly to a streaming clip. In this case, the Web page URL used to request the streaming clip must include the mount point for the launch utility. This causes Helix Universal Server to launch the appropriate media player, and stream the clip using the player's preferred streaming protocol. Helix Universal Server includes launch utilities for RealOne Player and Windows Media Player. QuickTime has no equivalent utility.

### Ramgen for RealOne Player

Helix Universal Server's Ramgen utility is preconfigured with a `/ramgen/` mount point that launches RealOne Player. To use the Ramgen utility, you include the `/ramgen/` mount point in a Web page URL to a streaming clip, just after the Helix Universal Server address. To enable the browser to make the request, you use the HTTP protocol rather than RTSP:

    <a href="http://helixserver.example.com/ramgen/video1.rm">Play RealMedia</a>

When Helix Universal Server receives a request that contains the `/ramgen/` mount point, it sends a MIME stream to the browser that launches RealOne Player. It then streams the clip or SMIL file to RealOne Player using the RTSP protocol. Hence, the preceding Ramgen link is equivalent to linking to a Ram file from a Web page:

    <a href="http://www.example.com/launch_video.ram">Play RealMedia</a>

and having the `launch_video.ram` file request the clip over RTSP:

    rtsp://helixserver.example.com/video1.rm

| Note: To circumvent restrictive firewalls, Helix Universal Server adds the cloakport switch when using Ramgen. For more information, see "Handling Communication through Nonstandard Ports".

| For More Information: Content creators can learn about Ramgen from the presentation delivery chapter of RealNetworks Production Guide. Note that Ramgen does not support as many playback parameters as a Ram file, which makes the Ram file a more powerful tool for content creators.

### ASXGen for Windows Media Player

ASXGen is the equivalent to Ramgen for launching Windows Media Player. Helix Universal Server comes configured with a mount point named `/asxgen/`, which you add to a Web page link instead of writing an ASX file. When Helix Universal Server receives a request that contains the `/asxgen/` mount point, it sends a MIME stream that causes the browser to launch Windows Media Player.

To stream to Windows Media Player 6.4, add the `.asx` extension to an ASXGen link for an `.asf`, `.wmv`, or `.wma` clip. The extra `.asx` extension is not necessary if you are streaming exclusively to Windows Media Player 7 and later, however. In the following example, the URL is for `video2.wmv.asx,` even though the clip on Helix Universal Server is `video2.wmv`. When it receives the request, Helix Universal Server strips off the extra `.asx` extension:

    <a href="http://helixserver.example.com/asxgen/video2.wmv.asx">Play Windows Media</a>

Once Windows Media Player launches, Helix Universal Server streams the requested content using the MMS protocol. To circumvent restrictive firewalls, Helix Universal Server can also transmit an HTTP URL that duplicates the MMS link, enabling HTTP cloaking for Windows Media Players behind restrictive firewalls.

| For More Information: For information on enabling HTTP cloaking for Windows Media Player, see "Changing Port Assignments".

## Tips for Launching Media Players

Keep the following points in mind when linking Web page to streaming media clips.

### Do Not Use Both Metafiles and Launch Utilities

Metafiles and the Ramgen and ASXGen utilities are mutually exclusive. If you launch content with a Ram file, for example, make sure that the requested URL does not contain the `/ramgen/` parameter.

#### Incorrect URL in a Ram File

    rtsp://helixserver.example.com/ramgen/video1.rm

#### Correct URL in a Ram File

    rtsp://helixserver.example.com/video1.rm

Conversely, when using Ramgen or ASXGen, make sure that your Web page link points to a streaming clip, not to a Ram file.

#### Incorrect File Request in a Web Page URL Using Ramgen

    <a href="http://helixserver.example.com/ramgen/play.ram">Play RealMedia</a>

#### Correct File Request in a Web Page URL Using Ramgen

    <a href="http://helixserver.example.com/ramgen/video1.rm">Play RealMedia</a>

### Use the Correct Protocol

Remember that media clips and broadcasts stream over RTSP or MMS, but Web browsers can make requests only over HTTP. Specifying an incorrect protocol can prevent a presentation for launching, or degrade its playback. When using metafiles, ensure that URLs use streaming protocols.

#### Incorrect Protocol in a Ram File

    http://helixserver.example.com/video1.rm

#### Correct Protocol in a Ram File

    rtsp://helixserver.example.com/video1.rm

When using Ramgen or ASXGen, make sure that your Web page link uses HTTP, rather than a streaming protocol such as RTSP or MMS.

#### Incorrect Protocol in a Web Page URL Using Ramgen

    <a href="rtsp://helixserver.example.com/ramgen/video1.rm">Play the Video</a>

#### Correct Protocol in a Web Page URL Using Ramgen

    <a href="http://helixserver.example.com/ramgen/video1.rm">Play the Video</a>

### Use Streaming Media URLs in SMIL Files

Content creators may create SMIL presentations for RealOne Player. In this case, you treat the SMIL file as if it were a streaming media clip. That is, you link to the SMIL file from a Ram file:

    rtsp://helixserver.example.com/presentation.smil

or in a Web page link that uses Ramgen:

    <a href="http://helixserver.example.com/ramgen/presentation.smil">...</a>

The SMIL file itself then contains URLs to the various clips. These are typically RTSP URLs such as those you write in a Ram file:

    <video src="rtsp://helixserver.example.com/video1.rm" region="video_region".../>

| For More Information: RealNetworks Production Guide's clip source tags chapter explains SMIL URLs.

### Communicate with Content Creators

You will need to give some information to content creators so that they can transfer their content to Helix Universal Server and write valid hyperlinks. The main reference manual for content creation, RealNetworks Production Guide, explains protocols, Ram files, and the Ramgen utility. However, content creators must rely on the Helix Universal Server administrator for the following information:

- Helix Universal Server address

- whether the port must be specified along with the protocol

- mount points (other than `/ramgen/`) to use to implement specific Helix Universal Server features

- method for transferring content to Helix Universal Server, such as file copy or FTP

- paths to the streaming content when it is transferred to Helix Universal Server

# Streaming Clips On Demand

Helix Universal Server is ready to stream clips as soon as it starts up. As the quick start section "Creating and Streaming a Clip on Demand" demonstrated, all you do is place a clip in the `Content` directory and write a link as described in "Writing Links to Content". The following sections provide information about additional, optional ways to configure Helix Universal Server to stream clips on demand.

## Creating Content Subdirectories

On your Helix Universal Server computer, you can create subdirectories under the predefined `Content` directory, which is described in "Content Directory Mount Point". On Windows, for example, you might create a `video` subdirectory in the `Content` directory. In a default Helix Universal Server installation on Windows, the full path would be the following:

    C:\Program Files\Real\Helix Server\Content\video

In an installation on UNIX, it may look like this:

    /usr/local/Real/HelixServer/Content/video

A Ram file link to a video clip in this subdirectory would include the `video` subdirectory, but not the path to the main `Content` directory:

    rtsp://helixserver.example.com/video/video1.rm

If, for example, the link occurred in a Web page and used Ramgen, the `video` subdirectory listing would follow the `/ramgen/` mount point (and any other mount points) in the URL

    <a href="http://helixserver.example.com/ramgen/video/video1.rm">Play</a>

### Tips for Using Content Subdirectories

- Just by examining a link, you can't determine which parts of a link refer to mount points, and which parts refer to subdirectories. You must be familiar with the mount points set up on Helix Universal Server to recognize the mount points in use.

- Helix Universal Server looks through the list of mount points before it looks for directory names. Should a mount point have the same name as an actual directory, Helix Universal Server will use the mount point and ignore the actual directory.

- You can create aliases for long subdirectory listings, as described in "Setting Up Aliases".

- When broadcasting live events, you can take advantage of mount points and directories that have the same names to display a standby message if the broadcast has not begun, or is interrupted. See "Playing a Standby Message".

## Adding a Mount Point for On-Demand Clips

If possible, place all of your streaming clips in the `Content` directory or its subdirectories. If necessary, though, you can stream content from other directories, disks, or networked machines. Instead of using symbolic links or aliases from the `Content` directory to other directories, however, you create new mount points for on-demand clips. Each mount point specifies a base path where Helix Universal Server locates the files. You then use the new mount point in URLs for on-demand clips located in the new directory.

| To create a new on-demand mount point:

1. In Helix Administrator, click Server Setup>Mount Points.

2. Click the "+" icon to add a new mount point.

| Tip: You can also edit an existing mount point by selecting it from the list, changing the information, and clicking Apply. You can change the base path of the `Content` directory, for example, by editing the `RealSystem Content` mount point definition.

3. Enter a new, unique name to replace the generic mount point name that appears in the Edit Description box.

4. Specify the mount point as it will appear in the request URL in the Mount Point box. Do not use spaces in the name, and enclose the name with forward slashes, as in `/video_clips/`.

5. In the Base Path box, enter the full path to the directory that stores the content.

6. If content resides in an external data store such as a Network File System (NFS) or a storage area network (SAN), you may see a performance increase by selecting Network from the Base Path Location box.

7. Change Cacheable by Caching Subscribers to `No` if you are using this server as a content-caching subscriber, and you do not want this subscriber to search content publishers for this mount point. For more on this feature, see "Content Caching".

8. Click Apply.

9. If you intend to serve content under this mount point through HTTP URLs, set up HTTP delivery as described in "Allowing HTTP Delivery". This is generally not recommended for streaming clips, though, because HTTP delivery caches content in browsers, and allows viewers to save clips to disk.

| Note: Even if you do not allow direct HTTP requests for the content, Helix Universal Server can deliver the content to media players over HTTP as necessary to work around firewall restrictions. Media players do not cache the content, though.

## Using On-Demand Streaming with Other Features

This following table describes the ways in which on-demand streaming works with other features.

On-Demand Streaming Used with Other Features
Feature | Interaction with On-Demand Streaming
--- | ---
Simulated Live Broadcasting | You can use the Simulated Live tool (SLTA) to broadcast on-demand files as if they were live. See Chapter 10.
Live Archiving | If you have used the live archiving feature to convert live streams to on-demand files, you can then create links to these files and deliver them on demand. You can also use the archived files to recreate a live presentation using SLTA.
Helix Universal Proxy | Helix Universal Server is configured to allow Helix Universal Proxy to cache on-demand content streamed by Helix Universal Server. To prevent certain on-demand clips from being cached, see "Preventing Streams from Being Cached or Split".
Access Control, Authentication | Any access control or authentication rules you set up for Helix Universal Server are automatically used when users request on-demand content with RealOne Player. QuickTime Player support is limited to basic user name/password authentication.
Monitoring | You can view which presentations are streaming at any time with the Server Monitor. Click the Connections tab or the Files tab to see which files are in use.
Logging | All presentations streamed from Helix Universal Server, whether on-demand or live, are recorded in the access log. QuickTime and Windows Media Player connections are included.

# Setting Up Aliases

Aliases are substitutions for actual file names and directory paths used in URLs. With an alias, you can mask resources or simplify published URLs for any links that use any protocol. Suppose that the following example is a path to a file located on the physical disk of a Helix Universal Server:

    C:\Program Files\Real\Helix Server\Content\music\pop\video1.rm

In this sample, `video1.rm` resides a few subdirectories below the `Content` directory. The following might be the unaliased URL for this file:

    rtsp://helixserver.example.com/music/pop/video1.rm

Using aliasing, you can assign the content `music/pop/video1.rm` to any value, such as the following:

Content: | `music/pop/video1.rm`
Alias: | `example.rm`

Helix Universal Server would then play the `video1.rm` clip when a viewer requested the following URL:

    rtsp://helixserver.example.com/example.rm

Helix Universal Server replaces only the alias portion of the URL. If you enter characters in the URL before or after the alias, that part of the URL remains unchanged. For example, consider the following changes in the preceding resource-to-alias value pair:

Content: | `music/pop/`
Alias: | `example`

For Helix Universal Server to play `video1.rm`, you would use the following URL:

    rtsp://helixserver.example.com/example/video1.rm

Here, Helix Universal Server replaces the alias with the exact characters in the resource, leaving the file name intact. If the preceding URL did not contain the file name, the resolved alias would lead to a subdirectory, not a clip.

## Preventing Alias Blind Spots

You need to be careful to avoid content blind spots—or content that cannot be accessed by a URL—by using aliases that match resources. Suppose that you had two files named `video.rm` and `audio.rm` in Helix Universal Server's `Content` directory, and you created the following alias/resource pair:

Content: | `audio.rm`
Alias: | `video.rm`

The following URL would always play the `audio.rm` file:

    rtsp://helixserver.example.com/video.rm

You would not be able to form a URL to play `video.rm` because Helix Universal Server would always translate the characters `video.rm` into `audio.rm`. The only way to write a URL to play the actual `video.rm` clip would be to create an alias that uses the `video.rm` clip as its resource.

## Tips for Defining Aliases

Observe the following considerations and limitations when setting up aliases:

- Aliases are for use only in URLs. Do not use an alias within a field in a Helix Administrator page. If you need to specify a mount point to enable a Helix Universal Server feature, for example, use the actual mount point, not an alias.

- You can use an alias in an HTTP URL to media content that uses the `/ramgen/` or `/asxgen/` mount point. However, aliases do not function in HTTP URLs used by browsers to request Web pages.

- Do not use more than one alias in a URL.

- Do not create an alias that contains only numbers. You can use one or more numbers within an alias that also contains letters, however.

- Slashes in aliases have no special meaning. Hence, neither a forward slash nor a backslash indicate any type of directory structure.

- When it searches for an alias-to-resource match, Helix Universal Server parses requests from left to right.

- Helix Universal Server always selects the most complete alias match. In other words, Helix Universal Server evaluates its entire list of aliases before selecting a match.

## Creating an Alias

Creating an alias is a simple process that the following procedure describes.

| To map an alias to a resource

1. In Helix Administrator, click Server Setup>URL Aliasing.

2. Click the "+" icon to add a new alias.

3. Enter any descriptive text in the Alias Description box.

4. In the Alias box, enter the alias you want to map to a resource.

5. In the Resource box, enter the portion of the URL to which the alias corresponds.

## Using Aliases with Other Features

The following table summarizes the Helix Universal Server features affected by aliasing.

Aliasing Used with Other Features
Helix Universal Server Feature | Interaction with Aliasing
--- | ---
Broadcast Redundancy | Not supported. URLs for broadcast redundancy must use actual resource names, not aliases.
Logging | The `rmaccess` log records actual resource names, not aliases.
Ram files | You can use aliases in Ram files.
Ramgen and ASXGen | You cannot combine the `/ramgen/` or `/asxgen/` mount point with an alias.
HTTP Protocol | Helix Universal Server does not support aliased HTTP URLs. Aliases work only with RTSP, PNA, and MMS protocols.
Splitting: transmitters | Aliases are not supported. Transmitters always cite the actual name of the live source.
Splitting: receiver | You can use aliases in URLs
Multicast: backchannel | You can use aliases in URLs.
Helix Administrator | Aliases not supported.
Unicasting/On-demand streaming | You can use aliases in URLs.
Windows Media delivery | An alias is required for pull splitting Windows Media content. Push splitting does not require an alias.

# Browsing On-Demand Content

Helix Administrator's content browsing feature allows you to list all on- demand clips residing on Helix Universal Server. You specify the mount points and types of clips, such as all clips or only the RealVideo clips, that you want to see. Helix Administrator then generates an HTML page listing and linking to all clips that fit those criteria.

| To create a content browsing list:

1. Click Content Management>Content Browsing in Helix Administrator.

2. The Browsable Mount Points box is predefined with the primary on-demand mount point (`/`), which corresponds to the Helix Universal Server `Content` directory and its subdirectories.

3. If you've created other mount points as described in "Adding a Mount Point for On-Demand Clips", you can add them to the Browsable Mount Points box by selecting them through the pull-down list.

4. The default value `*` in the Extensions to Browse box generates a content list for all clips and files, including SMIL files and metafiles such as Ram files. To limit the types of files shown, enter the file extensions in the box. Separate multiple extensions with a comma. For example, to browse just MP3 and RealMedia clips, you enter this:

    mp3, rm

5. Click Apply to save the changes.

6. Click the Browse Content link to generate a separate HTML page of all the selected content. The list includes content for all mount points shown in the Mount Points to Browse Box, not just the highlighted mount point. The list includes mount points, directories, and files, with file sizes listed in bytes. Clicking a link in the Play column plays a clip.

# Displaying Source Information

Just as browsers have "view source" commands that display HTML markup, RealOne Player has a view source command (View>Clip>Clip Source) that displays SMIL markup and clip information for all content it plays. When a viewer gives this command, Helix Universal Server generates an HTML page that contains the SMIL markup (if used), as well as information about clips and live broadcast streams. RealOne Player displays this information in a native browser window. With RealPlayer 7 and 8, source information displays in the viewer's default Web browser.

| Tip: The view source command is a handy way to learn a clip's streaming bit rate. Just play the clip in RealOne Player, and use the view source feature to display the clip's encoding statistics. SureStream RealAudio and RealVideo clips display all available bit rate streams.

## Default Security Precautions

By default, source information is not divulged for any clip or presentation that requires user name and password validation. For other presentations, the source information hides clip locations. For example, when the viewer requests the source of a SMIL file, the browser's address box displays a URL that shows random numbers and letters in place of the SMIL file path:

    http://helixserver.example.com:80/viewsource/template.html?ABcdlkj293847

The source page displaying SMIL markup links to separate pages that give information about each clip used in the presentation, including clip size, buffer time, and bit rate, but not the full path. To protect the location of content, the SMIL source page omits the full path to the clips, showing ellipses (...) instead. For example, the actual SMIL file on Helix Universal Server may have a source tag that gives the full URL to a video clip:

    <video src="rtsp://helixserver.example.com/presentation/presentation.rm" .../>

In the SMIL source page that viewers see, the full path is hidden:

    <video src="rtsp://.../presentation.rm" .../>

When you stream with Helix Universal Server, you have full control over what information you display for which clips. You can override defaults, for example, and display path information for all clips, or only for those in selected directories. Other methods of playing clips do not offer this full control, however:

- When viewers play clips residing on their local computers, RealOne Player generates the source pages itself, and always shows the full paths and all clip information.

- If a Web server delivers clips, RealOne Player generates the source pages itself, hiding the paths to media clips, but showing all other clip information.

## Selectively Displaying Source Information

By default, the view source feature is turned on for all on-demand clips and broadcasts, except those that require user name and password validation. The full paths to clips and files are not displayed, however. On a system-wide basis, you can turn off the view source feature, or decide to show full path information for all clips that do not require password validation. Or, you can set up selective rules to define exactly which on-demand clips and broadcasts display source information.

To enable selective rules, you define paths to content directories and broadcast mount points. The main on-demand mount point (`/`) is predefined to let you set up a source rule for the entire `Content` directory. You can add more rules for `Content` subdirectories, other on-demand mount points and subdirectories, and broadcast mount points such as `/broadcast/`. In applying view source rules, Helix Universal Server looks for the closest match. The examples in the following table illustrate how these rules work.

Examples of View Source Rules for the Main Content Directory
Path | View? | Result
--- | --- | ---
`/` | `No` | Only clips in the `Content/news/` subdirectory (and any subdirectories under that) show source information.
`/news/` | `Yes`
`/` | `No` | Only clips in the `Content/news/daily` subdirectory (and any subdirectories under that) show source information.
`/news/` | `No`
`/news/daily/` | `Yes`
`/` | `Yes` | All clips in the `Content` directory except those in the `news/` subdirectory show source information. However, clips in the `news/daily/` subdirectory (and any subdirectories under that) show source information.
`/news/` | `No`
`/news/daily/` | `Yes`

| For More Information: See Chapter 7 for information about broadcast mount points.

## Changing View Source Settings

The following procedure explains how to change the view source settings. You need to change these settings only if you want to modify the defaults to turn off view source entirely, for example, or to set up selective viewing rules.

| To change view source settings:

1. In Helix Administrator, click Content Management>View Source.

2. Set the appropriate features in the pull-down lists of the Master Settings section, as shown in the following table. These settings let you temporarily or permanently establish system-wide viewing rules.

   View Source Master Settings
   Menu | Option | Action
   --- | --- | ---
   View Source | `Use Settings Above` | Apply selective view source rules.
   `Disable View Source` | Show no source information system-wide.
   `Enable View Source` | Show source information system-wide.
   Hide Paths | `Use Settings Above` | Apply selective path rules.
   `Show All Paths` | Show paths for viewable clips.
   `Hide All Paths` | Hide paths for viewable clips.

If you want to enable selective viewing rules, select `Use Settings Above` as the master view source setting. You can use the master setting `Hide All Paths` or `Show All Paths` with selective rules. If you want to hide paths on a case-by-case basis, though, select `Use Settings Above`.

3. Perform this step if you want to define viewing rules, as described in "Selectively Displaying Source Information". The View Paths box is predefined with the primary on-demand mount point (`/`), which corresponds to the `Content` directory in the main Helix Universal Server installation directory. Do the following to define a new path:

1. Click the "+" icon to create a path listing.

2. Change the name in the Edit Path box to the path that corresponds to the view source rule. If you want to set up a source rule for clips in a `Content/news/` subdirectory you've created, for example, you enter `/news/`. (The mount point "`/`" corresponds to the `Content` directory.)

4. In the View Source and Hide Paths pull-down lists, select the appropriate settings for the highlighted path. If you set View Source to `No`, the Hide Paths setting does not matter.

5. Click Apply to save your changes.

## View Source Used with Other Features

The following table describes how the view source feature interacts with other Helix Universal Server features.

View Source Used with Other Helix Universal Server Features
Feature | View Source Interaction
--- | ---
Broadcasting | The view source feature applies to both on-demand and live content.
SLTA | On-demand files that are converted to live streams through SLTA show the same information as other live files.
Splitting | View source is disabled for users who are receiving a broadcast through a push splitting source.
Authentication | The view source feature is automatically disabled for all secure content.
Reporting | A record is created in the access log when a user makes a view source request. See the table "GET Statements for On-Demand Content".

| © 2002 RealNetworks, Inc. All rights reserved. For more information, visit RealNetworks Click here if the Table of Contents frame is not visible at the left side of your screen.